home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-05 / netpq.zip / F1.C < prev    next >
Text File  |  1992-02-24  |  3KB  |  111 lines

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <dos.h>
  4.  
  5. #include "nos.h"
  6. #include "noslib.h"
  7. #include "netpq.h"
  8.  
  9. extern struct serverdef *server;
  10. extern struct localqueuedef *localqueue;
  11.  
  12. extern int maxlocalqueuecount, localqueuecount;
  13. extern int numberoflogins;
  14.  
  15. extern int numberofprinterstrings;
  16. extern char *printerstring;
  17.  
  18.  
  19. f1keypressed ()
  20. {
  21. //  handles response for f1 key (control ports)
  22.  
  23. int f1menuitems = 6;
  24. char *f1menu [] =
  25.     {
  26.     "Enable",
  27.     "Disable now",
  28.     "Disable at EOJ",
  29.     "Pause now",
  30.     "Enable Single",
  31.     "Restart"
  32.     };
  33. int f1xsize = strlen (f1menu [2]);
  34.  
  35. int action, servernum, printer;
  36. int i;
  37. int ybase;
  38.  
  39.     ybase = wherey () + 1;
  40.     if (ybase + f1menuitems > 24)
  41.         ybase = 24 - f1menuitems;
  42.  
  43.     do
  44.         {
  45.         if ( (action = menu (&f1menu, f1menuitems, f1xsize, firstxpos, ybase)) != -1)
  46.             {
  47.             do
  48.                 {
  49.                 if ( (servernum = displayservernames (ybase)) != -1)
  50.                     {
  51.                     if (checkqueueprivileges (servernum) != -1)
  52.                         {
  53.                         do
  54.                             {
  55.                             printer = menu (&printerstring, numberofprinterstrings, 5, thirdxpos, ybase);
  56.  
  57.                             if (printer > -1)
  58.                                 {
  59.                                 message ("UPDATING, PLEASE WAIT ...", false);
  60.                                 if (NOSControlQueue (&printer, action, &server [servernum] .servername, -1) == -1)
  61.                                     NOSperror ("NOSControlQueue");
  62.                                 return 0;
  63.                                 }
  64.                             }while (printer != -1);
  65.                         }
  66.                     }
  67.                 }while (servernum != -1);
  68.             }
  69.         }while (action != -1);
  70.     return -1;
  71. }
  72.  
  73.  
  74.  
  75.  
  76. displayservernames (int ybase)
  77. {
  78. //  displays a menu of all servernames
  79.  
  80. int i, selection;
  81. char *servernames [5];
  82.  
  83.     i = 0;
  84.  
  85.     while (i < numberoflogins)
  86.         servernames [i] = &server [i++] .servername;
  87.  
  88.     if (ybase + numberoflogins > 24)
  89.         ybase = 24 - numberoflogins;
  90.  
  91.     selection = menu (&servernames, numberoflogins, 17, secondxpos, ybase);
  92.  
  93.     return selection;
  94. }
  95.  
  96.  
  97.  
  98.  
  99.  
  100. checkqueueprivileges (int servernum)
  101. {
  102. //  checks to see if the user has queue privileges on the server
  103.  
  104.     if (server [servernum] .queue_privilege == false)
  105.         {
  106.         message ("YOU DO NOT HAVE QUEUE PRIVILEGES\a", true);
  107.         return -1;
  108.         }
  109.     return 0;
  110. }
  111.